package com.jinzhi.jzweb.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzapi.examination.pojo.ExaminationsVo;
import com.jinzhi.jzweb.domain.MarkDO;
import com.jinzhi.jzweb.domain.StuSignUpComDO;
import com.jinzhi.common.base.CoreService;
import com.jinzhi.jzweb.pojo.*;
import com.jinzhi.jzweb.pojo.ModuleConfig.StatisticsVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 
 * <pre>
 * 考生报名
 * </pre>
 * <small> 2023-05-05 08:52:02 | lance</small>
 */
public interface StuSignUpComService extends CoreService<StuSignUpComDO> {


    List<StuSignUpTeamVo> sumTeamStuSignExam(String name);

    List<StuSignUpTeamVo> sumOneStuSignExam(String name);

    Integer MaxNum(Long cbatchId);

    Page<ExaminationAnswerSheetComVOS> listEsa(int current, int number, ExaminationAnswerSheetComVOS   examinationAnswerSheetComVOS);

    Page<StuSignUpComDO> ListUstEb(int current, int number, StuSignUpComDO   stuSignUpComDO);

    Page<StuSignUpComDO> ListUstEbSC(int current, int number, StuSignUpComDO   stuSignUpComDO);

    Page<StuSignUpComDO> ListUstASC(int current, int number, StuSignUpComDO   stuSignUpComDO);

    Page<StuSignUpComDO> ListUstTotalASC(int current, int number, StuSignUpComDO   stuSignUpComDO);

    Page<StuSignUpComDO> ListUstTotalASCs(int current, int number, StuSignUpComDO   stuSignUpComDO);

    List<StuSignUpComDO> ListUstTotalASCss(StuSignUpComDO   stuSignUpComDO);

    Page<StuSignUpComDO> ListUstLiLuASC(int current, int number, Map map);

    List<StuSignUpComDO> ListUstLiLuASCExcel( Map map);

    List<StuSignUpComDO> ListUstASCExcel( StuSignUpComDO   stuSignUpComDO);

    List<StuSignUpComDO> ListUstASCExcels( StuSignUpComDO   stuSignUpComDO);


    Page<StuSignUpComDO> selectPageList(int current, int number, Map map);

    List<StuSignUpComDO> selectPageListExcel(Map map);

    /**
     * 考生信息统计
     * @param stuSignUpComDTO
     * @return
     */
    StuSignUpComDO statistic(StuSignUpComDO stuSignUpComDTO);

    /**
     * 解密统计
     * @param examinationsVo
     * @return
     */
    Page<StuSignUpComDO> personageTotalStatisticsLists(ExaminationsVo examinationsVo);

    /**
     * 解密导出
     */
    List<JiemiStatisticsExcel> personageStatisticsexcelss(Long cbatchId, HttpServletResponse response);

    /**
     * 理论赛场成绩统计
     * @param examinationsVo
     * @return
     */
    Page<StuSignUpComDO> personageTotalAList(ExaminationsVo examinationsVo);


    /**
     * 理论赛场成绩统计导出
     * @return
     */
    List<MarkAExcel> personageTotalAImport(Long cbatchId,HttpServletResponse response);

    /**
     * 成绩总统计
     */
    Page<StuSignUpComDO> personageTotalStatisticsList(ExaminationsVo examinationsVo);


    /**
     * 成绩总统计导出
     * @return
     */
    List<MarkStatisticsExcel> personageStatisticsexcel(Long cbatchId, HttpServletResponse response);
}
